package com.owen.common.service;

import com.owen.common.domain.UploadFileDO;
import com.owen.common.vo.UploadFileVO;
import org.springframework.web.multipart.MultipartFile;

import java.io.InputStream;

/**
 * 文件上传服务
 *
 * Author： liu
 */
public interface UploadFileService {

    /**
     * 文件上传
     * @param file 将要上传的文件MultipartFile对象
     * @param directory 该文件需要存放的目录
     * @return
     */
    public UploadFileVO uploadFile(MultipartFile file, String directory);

    /**
     * 文件上传
     * @param is 上传文件输入流
     * @param is 文件名
     * @param directory 该文件需要存放的目录
     * @return
     */
    public UploadFileVO uploadFile(InputStream is, String fileName, String directory);

    /**
     * 根据id获取上传文件记录
     * @param id
     * @return
     */
    public UploadFileDO findById(String id);

    /**
     * 根据id和md5值获取文件上传记录
     */
    public UploadFileDO findByIdAndMd5(String id, String md5);

}
